home *** CD-ROM | disk | FTP | other *** search
- package symantec.itools.db.awt;
-
- import java.applet.Applet;
- import java.awt.Canvas;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.MediaTracker;
- import java.awt.Toolkit;
- import java.io.InputStream;
- import java.net.URL;
- import symantec.itools.awt.image.StreamImageSource;
- import symantec.itools.db.pro.ProjBinder;
- import symantec.itools.db.pro.ProjLink;
- import symantec.itools.db.pro.RelationView;
- import symjava.sql.SQLException;
-
- public class ImageViewer extends Canvas implements ProjLink {
- Image image;
- ProjBinder m_ProjBinder;
- // $FF: renamed from: is java.io.InputStream
- InputStream field_0;
- int imageType = 1;
- private boolean m_DynamicUpdate = true;
- private boolean m_displayWhileLoading = false;
- private int m_treatBlankAs;
- private boolean m_isImageTheRightImage = true;
- private boolean m_isBaseUrlTheRightBaseUrl = false;
-
- public ImageViewer() {
- }
-
- public ImageViewer(URL base) {
- StreamImageSource.setBaseUrl(base);
- }
-
- public static void setBaseUrl(URL base) {
- StreamImageSource.setBaseUrl(base);
- }
-
- public void setBinding(RelationView relView, String projection) {
- try {
- int projectionNumber = relView.findProjByName(projection);
- relView.bindProj(projectionNumber, this);
- } catch (SQLException e) {
- System.out.println(((Throwable)e).getMessage());
- }
- }
-
- public void setDisplayOption(boolean dOption) {
- if (dOption) {
- this.m_displayWhileLoading = true;
- } else {
- this.m_displayWhileLoading = false;
- }
- }
-
- public void setImageType(int type) {
- this.imageType = type;
- }
-
- public void init() {
- if (!this.m_isBaseUrlTheRightBaseUrl) {
- this.setBaseUrl();
- this.m_isBaseUrlTheRightBaseUrl = true;
- }
-
- try {
- if (this.m_ProjBinder.getRelationView().getCurrentRecordState() == 105) {
- this.image = null;
- } else {
- if (this.m_ProjBinder != null && this.m_ProjBinder.isReadable()) {
- this.field_0 = this.m_ProjBinder.getBinaryStream();
- Toolkit tk = ((Component)this).getToolkit();
- StreamImageSource sis = new StreamImageSource(this.field_0, this.imageType);
- this.image = tk.createImage(sis);
- if (!this.m_displayWhileLoading) {
- this.loadImage(this.image);
- return;
- }
- } else {
- this.image = null;
- }
-
- }
- } catch (SQLException e) {
- System.out.println(((Throwable)e).getMessage());
- } catch (Exception e) {
- ((Throwable)e).printStackTrace();
- }
- }
-
- private void loadImage(Image image) {
- if (image != null) {
- try {
- MediaTracker mtracker = new MediaTracker(this);
- mtracker.addImage(image, 0);
- mtracker.waitForID(0);
- } catch (InterruptedException var3) {
- }
- }
- }
-
- public void init(ProjBinder binder) {
- this.m_ProjBinder = binder;
- }
-
- public void notifyDataChange(ProjBinder binder) {
- this.m_isImageTheRightImage = false;
-
- try {
- if (this.field_0 != null) {
- this.field_0.close();
- }
-
- ((Component)this).repaint();
- } catch (Exception e) {
- ((Throwable)e).printStackTrace();
- }
- }
-
- public boolean notifySetData(ProjBinder binder) throws SQLException {
- return true;
- }
-
- public void paint(Graphics g) {
- try {
- if (!this.m_isImageTheRightImage) {
- this.init();
- this.m_isImageTheRightImage = true;
- }
-
- if (this.image != null) {
- g.drawImage(this.image, 0, 0, this);
- }
- } catch (Exception e) {
- ((Throwable)e).printStackTrace();
- }
- }
-
- public void setDynamicUpdate(boolean update) {
- this.m_DynamicUpdate = update;
- }
-
- public void setTreatBlankAs(String blank) {
- if ((new String(blank)).toUpperCase().equals("DEFAULT")) {
- this.m_treatBlankAs = 0;
- } else if ((new String(blank)).toUpperCase().equals("NULL")) {
- this.m_treatBlankAs = 1;
- } else {
- if ((new String(blank)).toUpperCase().equals("EMPTY")) {
- this.m_treatBlankAs = 2;
- }
-
- }
- }
-
- private void setBaseUrl() {
- for(Container parent = ((Component)this).getParent(); parent != null; parent = ((Component)parent).getParent()) {
- if (parent instanceof Applet) {
- StreamImageSource.setBaseUrl(((Applet)parent).getCodeBase());
- return;
- }
- }
-
- }
- }
-